package com.ruoyi.business.domain.koc;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 用户获取积分流水对象 tb_user_koc_points_log
 *
 * @author ruoyi
 * @date 2025-09-11
 */
@Data
@TableName("tb_user_koc_points_log")
@EqualsAndHashCode(callSuper = true)
@ApiModel("用户获取积分流水")
public class TbUserKocPointsLog extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;


    /**
     * 1 增加 2减少
     */
    @ApiModelProperty(value = "1 增加 2减少")
    @TableField("type")
    private Integer type;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    @TableField("user_id")
    private Long userId;


    @ApiModelProperty(value = "用户手机号")
    @TableField("user_phone")
    private String userPhone;


    @ApiModelProperty(value = "用户名")
    @TableField("user_real_name")
    private String userRealName;


    @ApiModelProperty(value = "用户koc等级id")
    @TableField("user_koc_level_id")
    private Long userKocLevelId;


    @ApiModelProperty(value = "koc 任务类型id")
    @TableField("koc_task_type_id")
    private Long kocTaskTypeId;


    @ApiModelProperty(value = "koc 任务类型id")
    @TableField("koc_task_type_name")
    private String kocTaskTypeName;


    /**
     * koc 任务id
     */
    @ApiModelProperty(value = "koc 任务id")
    @TableField("koc_task_id")
    private Long kocTaskId;

    @ApiModelProperty(value = "koc 任务名称")
    @TableField("koc_task_name")
    private String kocTaskName;


    /**
     * koc任务期次
     */
    @ApiModelProperty(value = "koc任务期次")
    @TableField("koc_date")
    private String kocDate;

    /**
     * 获得积分数目
     */
    @ApiModelProperty(value = "获得积分数目")
    @TableField("koc_point")
    private Integer kocPoint;


    /**
     * 加积分前的积分数量
     */
    @ApiModelProperty(value = "加积分前的积分数量")
    @TableField("user_point_old")
    private Integer userPointOld;

    /**
     * 来源类型
     */
    @ApiModelProperty(value = "来源类型 1 koc任务 2 管理员手动操作积分")
    @TableField("source_type")
    private Integer sourceType;

    @ApiModelProperty(value = "备注")
    @TableField("remarks")
    private String remarks;

    /**
     * 对应 task_info 审核批次id
     */
    @ApiModelProperty(value = "来源")
    @TableField("source_id")
    private String sourceId;


}
